# 1.循环
# 1.1 while 循环
# while 条件：
#     循环体（条件满足时做的事情）
#     改变变量
# i = 1
# while i <= 100:
#     print("好好学习，天天向上")
#     i += 1

# 死循环
# while True:
#    循环体

i = 1
num = 0
while i <= 100:
    # print(i)
    num = num + i  # 等价于 num += i
    i += 1
print(num)

# while 循环嵌套
# while 条件1：
#     循环体1
#     while 条件2：
#         循环体2
#         改变变量2
#     改变变量1

# i = 1
# while i <= 3:
#     print(f"这是第{i}外循环")
#     j = 1
#     while j <= 5:
#         print(f"内循环{j}次")
#         j += 1
#     i += 1

# 1.2 for循环
# 基本格式：
# for 临时变量 in 可迭代对象：
#     循环体

str = "hellowpython"  # 字符串是可迭代对象 ，整形，浮点型不是可迭代对象，迭代数字 加上引号
print(type(str))  # <class 'str'>
for char in str:
    print(char, end=" ")

print("")
# range() 用来记录循环次数，相当于一个计数器
# range(start,stop,step) start开始，stop结束，step步长
# for i in range(1,6): # 从1开始到6结束（1 <= x < 6），遵循包前不包后，[)
#     print(i)

# for i in range(5): #只写一个数字，默认从0开始
#     print(i)

print()
sum = 0
for i in range(101):  # 从0开始不包括最后一个值
    sum += i
print(sum)

# 2.break 和 continue 只能放在循环内
# break 中途退出，结束break所在的循环
# continue 结束当前循环，进入下一循环

# i = 1
# while i <= 5:
#     print(f"我在吃第{i}个苹果")
#     if i == 3:
#         print("吃饱了，不吃了")
#         break
#     i += 1

i = 1
while i <= 5:
    print(f"我在吃第{i}个苹果")
    if i == 3:
        print(f"吃到了一条大虫子，第{i}个苹果不吃了")
        i += 1  # continue 之前一定要修改计数器，否则会陷入死循环
        continue
    i += 1

for i in range(5):
    if i == 3:
        # break # break 会结束当前循环
        continue  # continue会跳过3，继续执行下一次循环
    print(i)
